/*                          UX-Framework                               
 *                                                                 
 *  iZE Co.,Ltd. Copyright 2009 All rights reserved.          
 *  This file is distributed under the terms of the GNU Lesser 
 *  General Public License, described in file LICENSE.                                     
 */

package jp.ize.ux.events;

import flash.events.Event;
import jp.ize.ux.UXObject;
import jp.ize.ux.geom.UXSize;

// {{{ class UXEvent
/**
 * UXEventクラス<br>
 * イベント基礎クラスです。<br>
 *
 * @author		iZE Co., Ltd.<br>
 * @version		$Id$<br>
 */
class UXEvent extends Event
{
	// {{{ properties

	public static var SELECTED   : String = "selected";
	public static var DESELECTED : String = "deselected";

	// }}}
	// {{{ public var name(default, null) : String
	/**
	 * イベントの種類を示す文字列です。
	 */
	public var name(default, null) : String;
	// }}}
	// {{{ public var uxtarget(default, null) : UXObject
	/**
	 * イベントの種類を示す文字列です。
	 */
	public var uxtarget(default, null) : UXObject;
	// }}}
	// {{{ public function new( name : String )
	/**
	 * コンストラクタです。引数としてイベントの名前を受け取ります。
	 */
	public function new( name : String )
	{
		super(name,true,true);
		this.name = name;
	}
	// }}}
	// {{{ public function setTarget( uo:UXObject ) : Void
	/**
	 * event の uxtarget を指定します
	 */
	public function setTarget( uo:UXObject ) : Void
	{
		uxtarget = uo;
	}

	// }}}
}
// }}}
// {{{ class UXResizeEvent
class UXResizeEvent
{
	// {{{ properties
	/**
	 * RESIZEイベント
	 */
	public static var RESIZE : String = "__UX_RESIZE";
	// {{{ public var previous(default, null) : UXSize
	/**
	 * 以前のサイズ
	 */
	public var previous(default, null) : UXSize;
	// }}}
	// {{{ public var after(default, null) : UXSize
	/**
	 * 新しいサイズ
	 */
	public var after(default, null) : UXSize;
	// }}}
	// }}}
	// {{{ public function new( p : UXSize, a : UXSize )
	/**
	 * コンストラクタ。
	 */
	public function new( p : UXSize, a : UXSize )
	{
		previous = p;
		after    = a;
	}
	// }}}
}
// }}}
